if utils.to_bool(sys_conf.get('configure', 'qt3', '0')):
self.installed_ui_toolkits.append(UI_TOOLKIT_QT3)
self.num_installed_ui_toolkits += 1
if utils.to_bool(sys_conf.get('configure', 'qt4', '0')):
self.installed_ui_toolkits.append(UI_TOOLKIT_QT4)
self.num_installed_ui_toolkits += 1
self.default_mode = INTERACTIVE_MODE
self.num_valid_modes = 0
if self.avail_modes is not None:
if GUI_MODE in self.avail_modes and prop.gui_build and self.installed_ui_toolkits:
self.num_valid_modes += 1
if INTERACTIVE_MODE in self.avail_modes:
self.num_valid_modes += 1
if NON_INTERACTIVE_MODE in self.avail_modes:
self.num_valid_modes += 1
if self.avail_modes is not None:
if INTERACTIVE_MODE in self.avail_modes:
self.default_mode = INTERACTIVE_MODE
elif NON_INTERACTIVE_MODE in self.avail_modes:
self.default_mode = NON_INTERACTIVE_MODE
if self.supported_ui_toolkits is not None and prop.gui_build and self.installed_ui_toolkits:
if self.default_ui_toolkit == 'qt3' and UI_TOOLKIT_QT4 in self.supported_ui_toolkits and UI_TOOLKIT_QT3 not in self.supported_ui_toolkits and INTERACTIVE_MODE in self.avail_modes:
self.default_mode = INTERACTIVE_MODE
self.default_ui_toolkit = 'none'
elif (UI_TOOLKIT_QT4 in self.supported_ui_toolkits and self.default_ui_toolkit == 'qt4' or UI_TOOLKIT_QT4 in self.installed_ui_toolkits or UI_TOOLKIT_QT3 in self.supported_ui_toolkits) and self.default_ui_toolkit == 'qt3' and UI_TOOLKIT_QT3 in self.installed_ui_toolkits:
self.default_mode = GUI_MODE
elif self.default_ui_toolkit == 'qt3' and UI_TOOLKIT_QT3 not in self.supported_ui_toolkits:
if UI_TOOLKIT_QT4 in self.supported_ui_toolkits and UI_TOOLKIT_QT4 in self.installed_ui_toolkits:
self.default_ui_toolkit = 'qt4'
self.default_mode = GUI_MODE
elif INTERACTIVE_MODE in self.avail_modes:
self.default_mode = INTERACTIVE_MODE
elif NON_INTERACTIVE_MODE in self.avail_modes:
self.default_mode = NON_INTERACTIVE_MODE
else:
log.error('%s cannot be run using Qt3 toolkit.' % self.mod)
sys.exit(1)
elif self.default_ui_toolkit == 'qt4' and UI_TOOLKIT_QT4 not in self.supported_ui_toolkits:
if UI_TOOLKIT_QT3 in self.supported_ui_toolkits and UI_TOOLKIT_QT3 in self.installed_ui_toolkits:
self.default_ui_toolkit = 'qt3'
self.default_mode = GUI_MODE
elif INTERACTIVE_MODE in self.avail_modes:
self.default_mode = INTERACTIVE_MODE
elif NON_INTERACTIVE_MODE in self.avail_modes:
self.default_mode = NON_INTERACTIVE_MODE
else:
log.error('%s cannot be run using Qt4 toolkit.' % self.mod)
sys.exit(1)
self.mode = self.default_mode
if os.getuid() == 0 and not run_as_root_ok:
log.warn('%s should not be run as root/superuser.' % mod)
if include_flags & USAGE_FLAG_DEVICE_ARGS == USAGE_FLAG_DEVICE_ARGS:
summary.append('[DEVICE_URI|PRINTER_NAME]')
content.append(utils.USAGE_ARGS)
content.append(utils.USAGE_DEVICE)
content.append(utils.USAGE_PRINTER)
if self.avail_modes is not None and self.num_valid_modes > 1:
summary.append('[MODE]')
content.append(utils.USAGE_SPACE)
content.append(utils.USAGE_MODE)
if self.num_installed_ui_toolkits > 0:
if GUI_MODE in self.avail_modes and prop.gui_build:
content.append(utils.USAGE_GUI_MODE)
if INTERACTIVE_MODE in self.avail_modes:
content.append(utils.USAGE_INTERACTIVE_MODE)
if NON_INTERACTIVE_MODE in self.avail_modes:
content.append(utils.USAGE_NON_INTERACTIVE_MODE)
summary.append('[OPTIONS]')
content.append(utils.USAGE_SPACE)
content.append(utils.USAGE_OPTIONS)
if self.avail_modes is not None and GUI_MODE in self.avail_modes and self.supported_ui_toolkits is not None and self.num_supported_ui_toolkits > 0 and prop.gui_build and self.num_installed_ui_toolkits > 0:
if UI_TOOLKIT_QT3 in self.supported_ui_toolkits and UI_TOOLKIT_QT3 in self.installed_ui_toolkits:
content.append(utils.USAGE_USE_QT3)
if UI_TOOLKIT_QT4 in self.supported_ui_toolkits and UI_TOOLKIT_QT4 in self.installed_ui_toolkits:
content.append(utils.USAGE_USE_QT4)
content.append(utils.USAGE_LOGGING1)
content.append(utils.USAGE_LOGGING2)
if include_flags & USAGE_FLAG_SUPRESS_G_DEBUG_FLAG != USAGE_FLAG_SUPRESS_G_DEBUG_FLAG:
if GUI_MODE in self.avail_modes and prop.gui_build:
params = ''.join([
params,
'u'])
long_params.extend([
'gui',
'ui'])
if INTERACTIVE_MODE in self.avail_modes:
params = ''.join([
params,
'i'])
long_params.extend([
'interactive',
'text'])
if NON_INTERACTIVE_MODE in self.avail_modes:
params = ''.join([
params,
'n'])
long_params.extend([
'noninteractive',
'non-interactive',
'batch'])
if self.supported_ui_toolkits is not None and self.num_supported_ui_toolkits > 1 and prop.gui_build and self.avail_modes is not None and GUI_MODE in self.avail_modes:
if UI_TOOLKIT_QT3 in self.supported_ui_toolkits and UI_TOOLKIT_QT3 in self.installed_ui_toolkits:
long_params.extend([
'qt3',
'use-qt3'])
if UI_TOOLKIT_QT4 in self.supported_ui_toolkits and UI_TOOLKIT_QT4 in self.installed_ui_toolkits:
if o in ('-P', '-p', '--printer', '--printer-name'):
printer_name = a
continue
if o in ('-l', '--logging'):
log_level = a.lower().strip()
if not log.set_level(log_level):
show_usage = 'text'
log.set_level(log_level)
if o in ('-g', '--debug', '--dbg'):
log.set_level('debug')
continue
if o in ('-u', '--gui', '--ui'):
if self.avail_modes is not None and GUI_MODE in self.avail_modes and self.supported_ui_toolkits is not None and prop.gui_build:
mode = GUI_MODE
else:
error_msg.append('Unable to enter GUI mode.')
prop.gui_build
if o in ('-i', '--interactive', '--text'):
if self.avail_modes is not None and INTERACTIVE_MODE in self.avail_modes:
mode = INTERACTIVE_MODE
ui_toolkit = 'none'
INTERACTIVE_MODE in self.avail_modes
if o in ('-n', '--non-interactive', '--batch'):
if self.avail_modes is not None and NON_INTERACTIVE_MODE in self.avail_modes:
mode = NON_INTERACTIVE_MODE
ui_toolkit = 'none'
NON_INTERACTIVE_MODE in self.avail_modes
if o in ('-h', '--help'):
show_usage = 'text'
continue
if o == '--help-rest':
show_usage = 'rest'
continue
if o == '--help-man':
show_usage = 'man'
continue
if o == '--help-desc':
show_usage = 'desc'
continue
if o in ('--qt3', '--use-qt3'):
if self.avail_modes is not None and GUI_MODE in self.avail_modes:
if self.supported_ui_toolkits is not None and UI_TOOLKIT_QT3 in self.supported_ui_toolkits and prop.gui_build and UI_TOOLKIT_QT3 in self.installed_ui_toolkits:
mode = GUI_MODE
ui_toolkit = 'qt3'
else:
error_msg.append('%s does not support Qt3. Unable to enter GUI mode.' % self.mod)
GUI_MODE in self.avail_modes
if o in ('--qt4', '--use-qt4'):
if self.avail_modes is not None and GUI_MODE in self.avail_modes:
if self.supported_ui_toolkits is not None and UI_TOOLKIT_QT4 in self.supported_ui_toolkits and prop.gui_build and UI_TOOLKIT_QT4 in self.installed_ui_toolkits:
mode = GUI_MODE
ui_toolkit = 'qt4'
else:
error_msg.append('%s does not support Qt4. Unable to enter GUI mode.' % self.mod)